package com.cn.wanxi.model;

/**
 * 前端返回的统一格式就是这个
 */
public class ResultModel {
    //    msg  就是提示作用
    private String msg;
    //    code  一般叫做编码  layui 返回0表示成功
    private Integer code;
    //  count  条数：增加修改，删除影响的条数
    private Integer count;
    //    将查询出的数据全部放入data
    private Object data;

    /**
     * 只有影响的条数，其他位默认值
     *
     * @param count
     * @return
     */
    public static ResultModel getResultModel(int count) {
//        ResultModel resultModel = new ResultModel();
//        resultModel.setMsg("success");
//        resultModel.setCount(count);
//        resultModel.setCode(0);
//        resultModel.setData(null);
//
//        return resultModel;
        return getResultModel("success",count,0,null);
    }

    /**
     * 根据id查询用这个
     *
     * @param data
     * @return
     */
    public static ResultModel getResultModel(Object data) {
//        ResultModel resultModel = new ResultModel();
//        resultModel.setMsg("success");
//        resultModel.setCount(0);
//        resultModel.setCode(0);
//        resultModel.setData(data);

//        return resultModel;
        return getResultModel("success",0,0,data);
    }

    /**
     * 只传信息
     * @param msg
     * @return
     */
    public static ResultModel getResultModel(String msg) {
//        ResultModel resultModel = new ResultModel();
//        resultModel.setMsg(msg);
//        resultModel.setCount(0);
//        resultModel.setCode(0);
//        resultModel.setData(null);

        return getResultModel(msg,0,0,null);
    }

    /**
     * 查询所有
     *
     * @param count 总条数
     * @param data  查询的数据
     * @return
     */
    public static ResultModel getResultModel(Integer count, Object data) {
//        ResultModel resultModel = new ResultModel();
//        resultModel.setMsg("success");
//        resultModel.setCount(count);
//        resultModel.setCode(0);
//        resultModel.setData(data);

        return getResultModel("success",count,0,data);
    }

    /**
     * 所有的方法都可以调用：分别赋值
     *
     * @param msg
     * @param count
     * @param code
     * @param data
     * @return
     */
    private static ResultModel getResultModel(String msg, Integer count, int code, Object data) {
        ResultModel resultModel = new ResultModel();
        resultModel.setMsg(msg);
        resultModel.setCount(count);
        resultModel.setCode(code);
        resultModel.setData(data);
        return resultModel;
    }


    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
